from datetime import datetime
from common_functions import cut_block as cb

cb('获取当前时间')
now = datetime.now()
print(now)
print('now 的类型是:', type(now))
# 2025-11-17 11:04:25.447368  447:毫秒 368:微秒

cb('时间格式化')
# 如果想让时间按照自己需要的格式输出,可以使用 strftime() 方法 str_format_time()
print(now.strftime('%Y-%m-%d %I:%M:%S %p'))
# 2025-11-17 11:04:25
# Y代表四位年, y代表两位年, 2025 就是 25
# m代表两位数的月,
# d代表日两位数的日期,
# H代表24小时制的时, I代表12小时制的时
# M代表分, S代表秒
# p代表AM/PM 通常结合 I 来使用
# 星期用 %A 来表示, 例如: Monday, %a 代表简写的星期, 例如: Mon
print(now.strftime('%Y-%m-%d %A'))
# 2025-11-17 Monday
print(now.strftime('%Y-%m-%d %a'))
# 2025-11-17 Mon

cb('手动创建时间')
# 手动创建时间,必填参数有年,月,日,可选参数有时,分,秒,微秒(默认都是0),没有毫秒参数
year = datetime(2025, 11, 17)
print(year.strftime('%Y-%m-%d %H:%M:%S'))


# 时间戳 timestamp
# 时间戳是指从1970年1月1日00:00:00开始按秒计算的偏移量
# 时间戳的单位是秒, 可以使用 time 模块的 time() 函数来获取当前时间的时间戳
import time

cb('时间戳')
timestamp = time.time()
print(timestamp)
print('timestamp 的类型是:', type(timestamp))
# 时间戳在Python里面是一个浮点数
# 1738884265.447368  447:毫秒 368:微秒

cb('时间戳转换为时间')
from_timestamp = datetime.fromtimestamp(timestamp)
print(from_timestamp)

cb('时间转换为时间戳')
now__timestamp = datetime.now().timestamp()
print(now__timestamp)
